var A;			// v1 ctrl/pics
var B;			// body node
var C;			// cursor
var D;			// v3 ctrl/dialog
var F;			// file/camera
var N;			// nav node
var L;			// sio node
var R;			// v7 ctrl/trash
var V=0;		// recover/recycle counter

var G;			// trash
var H;			// header
var I={			// personal info
	a:34,			// age
	c:'Hangzhou',	// city
	d:0,			// longitude
	e:0,			// latitude
	f:false,		// modified
	g:'Male',		// gender
	h:175,			// height
	n:'+',			// units
	p:'',			// password
	u:'',			// user
	w:75,			// weight
};
var J;			// share node
var K;			// like node
var M;			// home node
var S;			// session cookie
var T;			// out
var U;			// user cookie

function cookies(){
	var u=null;
	var a=document.cookie.split(';');
	for(var i=a.length;i>0;i){
		var c=a[--i].trim();
		switch(c.substr(0,2)){
		case 'u=':
			u=c.substr(2);
		}
	}
	return u;
}
function dlg(d){
	dlgset();
	view(3);
	D.className='d'+d;
}
function dlgset(){
	dclass('d1',I.g);
	dlgval('d2',1,I.a);
	dlgval('d3',1,I.h);
	dlgval('d3',2,I.w);
	dlgval('d4',1,I.u);
	dlgval('d4',2,I.p);
	var o=cookies()?'out':'in';
	document.getElementById('sio').innerHTML='<a href=javascript:sign'+o+
		'()><div class=go id=sig>&nbsp;</div>Sign'+o+'</a>';

}
function dclass(d,c){
	document.getElementById(d).className=c;
}
function dummy(){
}
function dlgval(d,n,v){
	document.getElementById(d).children[n].firstChild.firstChild.value=v;
}
function flash(){
	var x=new XMLHttpRequest();
	x.timeout=8000;
	x.ontimeout=function(){
		home();
	}
	x.onload=function(){
		try{
			var s=eval(x.responseText);
			if(s[0].k>_[69].get()[0].k){
				localStorage.setItem('s',JSON.stringify(s));
				_[69].set(s);
			}
		}finally{}
		home();
	}
	x.open('GET','pad.json',true);
	x.send();
}
function geoerr(e){
	switch(e.code){
	case e.PERMISSION_DENIED:
		out('User denied the request for Geolocation.');
		break;
	case e.POSITION_UNAVAILABLE:
		out('Location information is unavailable.');
		break;
	case e.TIMEOUT:
		out('The request to get user location timed out.');
		break;
	case e.UNKNOWN_ERROR:
		out('An unknown error occurred.');
		break;
	}
}
function geoinf(p){
	I.d=p.coords.longitude;
	I.e=p.coords.latitude;
	localStorage.setItem('i',JSON.stringify(I));
	dlgset();
}
function infcookie(){
	var c=(I.a?I.a:0)+'*'+(I.c?I.c:'+')+'*'+(I.d?I.d:0)+'*'+(I.e?I.e:0)+'*'+
			(I.g?I.g:'+')+'*'+(I.h?I.h:0)+'*'+(I.n?I.n:'+')+'*'+(I.w?I.w:0);
	var d=new Date();
	d.setTime(d.getTime()+(1000*86400000));	// 1000 days
	document.cookie='i='+c+'; expires='+d.toGMTString()+'; path=/';

}
function info(d,n){
	return document.getElementById(d).children[n].firstChild.firstChild.value;
}
function mark(c){
	C=c;
	B.className=c.k?'v0':'v1';
	var r=c.r;
	N.className=r>17?(r>20?'y0':'y1'):(r>14?'y3':'y2');
	return;
}
function mtext(d,x){
	R.firstChild.children[d].firstChild.firstChild.textContent=x;
}
function out(v){
	document.getElementById('out').textContent=v;
}
function rate(r){
	rate2(C._,r)
	C.r=r;
	A.store();
}
function rate2(i,r){
	var x=new XMLHttpRequest();
	x.onreadystatechange=dummy;
	x.open('POST','.rate?i='+i+'&r='+r,true);
	x.send();
}
function sign0(){
	L.innerHTML='Sign in';
}
function sign1(){
	var x=new XMLHttpRequest();
	x.open('POST','/sys/signin?account='+document.getElementById('sia').value+
			'&password='+document.getElementById('sip').value+'&ok=&jump=none',
			true);
	x.onload=function(){
		x=x.responseText;
		if(x=='Ok'){
			D.select();
			C=null;		// refresh
		}else{
			out(x);
			L.innerHTML='Sign in';
		}
	}
	x.send();
	L.innerHTML='<img src=/img/loading.svg>';
	return 1;
}
function sign2(){
	out(2)
}
function sign(io){
	var n=document.getElementById('sig');
	n.className='wt';
	var x=new XMLHttpRequest();
	x.open('POST','/sys/sign'+io+'?account='+document.getElementById('sia').value+
			'&password='+document.getElementById('sip').value+'&ok=&jump=none',
			true);
	x.onload=function(){
		n.className='go';
		x=x.responseText;
		if(x=='Ok'){
			more();
			C=null;
		}else out(x);
	}
	x.send();
}
function touchend(e){
	var t=e.target;
	while(t){
		if(t.tagName=='A'){
			var r=t.href;
			if(r.substr(0,11)=='javascript:')
				eval(r.substr(11));
			e.preventDefault();
			return;
		}
		t=t.parentNode;
	}
}
function view(v){
	B.className='v'+v;
}

//----------------------

function about(){
	dlg(6);
}
function account(){
	dlg(4);
}
function act(){
}
function age(){
	dlg(2);
}
function camera(){
	F.upload();
}
function city(){
	dlg(0);
}
function dislike(){
	rate(12);
	mark(C);
}
function female(){
	I.g='Female';
	more();
}
function gender(){
	dlg(1);
}
function height(){
	dlg(3);
}
function home(){
	if(V){
		V=0;
		A.reset(1);
		R.reset(1);
	}else{
		if(B.className=='v1')
			A.reset();
		mark(C);
	}
}
function like(){
	rate(C.r>14?13:16);
	mark(C);
}
function male(){
	I.g='Male';
	more();
}
function more(){
	view(3);
	D.select();
}
function recyclebin(){
	view(7);
	R.reset();
}
function share(){
	rate(C.r>20?19:60);
	mark(C);
}
function signin(){
	sign('in','out');
}
function signout(){
	sign('out','in');
}
function signup(){
	dlg(7);
}
function register(){
	more();
}
function units(){
	dlg(8);
}
function unshare(){
	rate(60);
	mark(C);
}

A=_[69];
B=document.body;
D=_[65];
F=_[51];
L=document.getElementById('sio');
N=document.getElementsByTagName('NAV')[0];
R=_[66];

document.ontouchend=touchend;
document.ontouchmove=function(e){e.preventDefault();};

A.onchange=mark;
F.onload=function(){A.reset(1);};
R.onchange=function(e){
	var c=e.className,i=e.previousSibling.src,r=e.getAttribute('r');
	i=i.substr(i.lastIndexOf('/')+1);
	if(c=='s66m'){
		V++;
		r=r>17?60:16;
	}else{
		V--;
		r=r>17?100:10;
	}
	rate2(i,r);
}

A._(document.getElementById('v1'));
F._(document.getElementById('v2'));
D._(document.getElementById('v3'));
R._(document.getElementById('v7'));